﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ТипыПерепискиСКонтролирующимиОрганами
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"74945714-49e4-43d3-b243-bde4aa2f3eed\", \"Представление\":\"ПерепискаСФНС\"}")]
		ПерепискаСФНС = 0,//Переписка с ФНС
		[EnumMember(Value = "{\"Ссылка\":\"4cfcd924-9ec8-41f1-ad56-38075c0cbed9\", \"Представление\":\"ПерепискаСПФР\"}")]
		ПерепискаСПФР = 1,//Переписка с ПФР
		[EnumMember(Value = "{\"Ссылка\":\"78c2f29e-677a-4d4a-a570-b2e2613ea020\", \"Представление\":\"ПерепискаСФСГС\"}")]
		ПерепискаСФСГС = 2,//Переписка с ФСГС
	}
	public static partial class ТипыПерепискиСКонтролирующимиОрганами_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПерепискаСФНС = new Guid("e4bd43b2-2faa-ed3e-43d3-49e474945714");//Переписка с ФНС
		public static readonly Guid ПерепискаСПФР = new Guid("073856ad-0c5c-d9be-41f1-9ec84cfcd924");//Переписка с ПФР
		public static readonly Guid ПерепискаСФСГС = new Guid("e2b270a5-3e61-20a0-4d4a-677a78c2f29e");//Переписка с ФСГС
		public static ТипыПерепискиСКонтролирующимиОрганами Получить(this ТипыПерепискиСКонтролирующимиОрганами Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ТипыПерепискиСКонтролирующимиОрганами Получить(this ТипыПерепискиСКонтролирующимиОрганами Значение, Guid Ссылка)
		{
			if(Ссылка == ПерепискаСФНС)
			{
				return ТипыПерепискиСКонтролирующимиОрганами.ПерепискаСФНС;
			}
			else if(Ссылка == ПерепискаСПФР)
			{
				return ТипыПерепискиСКонтролирующимиОрганами.ПерепискаСПФР;
			}
			else if(Ссылка == ПерепискаСФСГС)
			{
				return ТипыПерепискиСКонтролирующимиОрганами.ПерепискаСФСГС;
			}
			return ТипыПерепискиСКонтролирующимиОрганами.ПустаяСсылка;
		}
		public static byte[] Ключ(this ТипыПерепискиСКонтролирующимиОрганами Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ТипыПерепискиСКонтролирующимиОрганами Значение)
		{
			switch (Значение)
			{
				case ТипыПерепискиСКонтролирующимиОрганами.ПерепискаСФНС: return ПерепискаСФНС;
				case ТипыПерепискиСКонтролирующимиОрганами.ПерепискаСПФР: return ПерепискаСПФР;
				case ТипыПерепискиСКонтролирующимиОрганами.ПерепискаСФСГС: return ПерепискаСФСГС;
			}
			return Guid.Empty;
		}
	}
}